#include <iostream>
using namespace std;
#define MAX_SIZE 10
int main(void)
{
	int i=0,j=0,m=0,NumOfRowA,NumOfColA,NumOfColB,s=0,caca;
	int a[MAX_SIZE][MAX_SIZE],b[MAX_SIZE][MAX_SIZE],c[MAX_SIZE][MAX_SIZE];
	cin>>caca;
	NumOfRowA=caca;
	NumOfColA=caca;
	NumOfColB=caca;
	for(i=0;i<NumOfRowA;i++)
	{
		for(j=0;j<NumOfColA;j++)
		{
			cin>>a[i][j];
		}
	}
	for(j=0;j<NumOfColA;j++)
	{
		for(m=0;m<NumOfColB;m++)
		{
			cin>>b[j][m];
		}
	}
	for(i=0;i<NumOfRowA;i++)
	{
		for(m=0;m<NumOfColB;m++)
		{
			for(j=0;j<NumOfColA;j++)
			{
				s=s+a[i][j]*b[j][m];
			}
			c[i][m] = s;
			s = 0;
		}
	}
	for(i=0;i<NumOfRowA;i++)
	{
		for(j=0;j<NumOfColB;j++)
		{
			cout<<c[i][j] <<" ";
		}
		cout<<endl;
	}
	return 0;
}
